/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cn.ekuma.epos.datalogic.define.dao.erp;

import cn.ekuma.data.dao.ModifiedLogDAO;
import cn.ekuma.epos.db.table.erp.I_OrderTypeCategory;

import com.openbravo.data.basic.BasicException;
import com.openbravo.data.loader.DataRead;
import com.openbravo.data.loader.DataWrite;
import com.openbravo.data.loader.Datas;
import com.openbravo.data.loader.I_Session;
import com.openbravo.data.loader.Session;
import com.openbravo.data.loader.TableDefinition;
import com.openbravo.format.Formats;
import com.openbravo.pos.base.AppLocal;
import com.openbravo.bean.erp.OrderTypeCategory;
import com.openbravo.data.model.Field;

/**
 *
 * @author Administrator
 */
public class OrderTypeCategoryDAO extends ModifiedLogDAO<OrderTypeCategory> {

    public OrderTypeCategoryDAO(I_Session s) {
        super(s);
    }


     @Override
    public TableDefinition getTable() {
         return new TableDefinition(s,
                "ORDERTYPECATEGORIES",
                new Field[]{
                   new Field(I_OrderTypeCategory.ID,Datas.STRING, Formats.STRING,"Label.Name"),
                   new Field(I_OrderTypeCategory.NAME,Datas.STRING, Formats.STRING),
                   new Field(I_OrderTypeCategory.PARENTID,Datas.STRING, Formats.STRING),
                   new Field(I_OrderTypeCategory.ISHOT,Datas.BOOLEAN, Formats.BOOLEAN,"label.categoryPanel.ishot"),
                   new Field(I_OrderTypeCategory.LASTMODIFIED,Datas.TIMESTAMP, Formats.TIMESTAMP)
                } ,
                new int[]{0});
    }

    @Override
    public void writeInsertValues(DataWrite dp, OrderTypeCategory obj) throws BasicException {
           dp.setString(1, obj.getID());
           dp.setString(2, obj.getName());
           dp.setString(3, obj.getM_sParentID());
           dp.setBoolean(4, obj.isHot());
           dp.setTimestamp(5,obj.getLastModified());
    }

    public OrderTypeCategory readValues(DataRead dr,OrderTypeCategory obj) throws BasicException {
    	if(obj==null)
    		obj=new OrderTypeCategory();
    	obj.setID(dr.getString(1));
    	obj.setName(dr.getString(2));
    	obj.setM_sParentID(dr.getString(3));
    	obj.setHot(dr.getBoolean(4));
        obj.setLastModified(dr.getTimestamp(5));
        return obj;
    }

    @Override
    public Class getSuportClass() {
        return OrderTypeCategory.class;
    }
}
